const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const cors = require('cors');
const bookRoutes = require('./routes/bookRoutes');

// 创建 Express 应用
const app = express();

// 使用 bodyParser 解析 JSON 请求体
app.use(bodyParser.json());

// 使用 CORS 允许跨域请求
app.use(cors());

// 连接到 MongoDB 数据库
mongoose.connect('mongodb://localhost:27017/book-management', {
  useNewUrlParser: true,
  useUnifiedTopology: true,
})
  .then(() => console.log('MongoDB 连接成功'))
  .catch(err => console.error('MongoDB 连接失败', err));

// 使用图书路由
app.use('/api/books', bookRoutes);

// 定义错误处理中间件
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).send({ message: '服务器错误!' });
});

// 设置服务器端口
const PORT = process.env.PORT || 5000;

// 启动服务器
app.listen(PORT, () => {
  console.log(`服务器运行在 http://localhost:${PORT}`);
});
